package com.soccerlover9527.jadis.enums;

/**
 * <p></p>
 *
 * @author soccerlover9527@gmail.com
 * @since 2023-08-04
 */
public enum DataType {
    STRING((byte) 0),
    LIST((byte) 1),
    HASH((byte) 2),
    SET((byte) 3),
    SSET((byte) 4);
    private final byte type;

    DataType(byte type) {
        this.type = type;
    }

    public byte getType() {
        return type;
    }

    public static DataType getByCode(byte type) {
        for (DataType dataType : DataType.values()) {
            if (dataType.type == type) {
                return dataType;
            }
        }
        throw new IllegalArgumentException("type [%d] not found".formatted(type));
    }
}
